\hypertarget{conf__general_8h}{}\section{conf\+\_\+general.\+h File Reference}
\label{conf__general_8h}\index{conf\+\_\+general.\+h@{conf\+\_\+general.\+h}}
{\ttfamily \#include \char`\"{}datatypes.\+h\char`\"{}}\\*
\subsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \hyperlink{conf__general_8h_a5a209f781c62e738bb2f3868604fbe77}{F\+W\+\_\+\+V\+E\+R\+S\+I\+O\+N\+\_\+\+M\+A\+J\+O\+R}~1
\item 
\#define \hyperlink{conf__general_8h_ae224d2fae5df95eef5b8b1638b714731}{F\+W\+\_\+\+V\+E\+R\+S\+I\+O\+N\+\_\+\+M\+I\+N\+O\+R}~12
\item 
\#define \hyperlink{conf__general_8h_af8a66de8480015449b71c7e2a184245d}{A\+U\+T\+O\+\_\+\+P\+R\+I\+N\+T\+\_\+\+F\+A\+U\+L\+T\+S}~0
\item 
\#define \hyperlink{conf__general_8h_a203e46be358e8b2504b821df08d80c76}{S\+Y\+S\+T\+E\+M\+\_\+\+C\+O\+R\+E\+\_\+\+C\+L\+O\+C\+K}~168000000
\item 
\#define \hyperlink{conf__general_8h_afb5b082214e46b36710f13fb58f14536}{H\+W\+\_\+\+V\+E\+R\+S\+I\+O\+N\+\_\+46}
\item 
\#define \hyperlink{conf__general_8h_a9b1e984078682e6796a6f01798bcff77}{M\+C\+C\+O\+N\+F\+\_\+\+O\+U\+T\+R\+U\+N\+N\+E\+R2}
\item 
\#define \hyperlink{conf__general_8h_a42c15799695a95f5cf1a7ad50390405e}{E\+N\+C\+O\+D\+E\+R\+\_\+\+E\+N\+A\+B\+L\+E}~0
\item 
\#define \hyperlink{conf__general_8h_af219931ae59bfd17b6b02088d131fcc4}{E\+N\+C\+O\+D\+E\+R\+\_\+\+C\+O\+U\+N\+T\+S}~14400
\item 
\#define \hyperlink{conf__general_8h_aa7745485782511ac5adc139ebc479e39}{C\+A\+N\+\_\+\+E\+N\+A\+B\+L\+E}~1
\item 
\#define \hyperlink{conf__general_8h_ae87967dc13f8df6b437c54e253fa5c69}{L\+E\+D\+\_\+\+E\+X\+T\+\_\+\+B\+A\+T\+T\+\_\+\+L\+O\+W}~28.\+0
\item 
\#define \hyperlink{conf__general_8h_ac11648a2d535467d40f9a605d5e00e76}{L\+E\+D\+\_\+\+E\+X\+T\+\_\+\+B\+A\+T\+T\+\_\+\+H\+I\+G\+H}~33.\+0
\item 
\#define \hyperlink{conf__general_8h_ae4fe8b9051fab0ed857f4b7f1ccb1da8}{W\+S2811\+\_\+\+E\+N\+A\+B\+L\+E}~0
\item 
\#define \hyperlink{conf__general_8h_a36f085cf73db8d6538b36c1e5c62e186}{W\+S2811\+\_\+\+C\+L\+K\+\_\+\+H\+Z}~800000
\item 
\#define \hyperlink{conf__general_8h_a603b0328c04f0a8e93f19a141bee3bf4}{W\+S2811\+\_\+\+L\+E\+D\+\_\+\+N\+U\+M}~14
\item 
\#define \hyperlink{conf__general_8h_ae59d53cd573f80957f17600765aa3620}{W\+S2811\+\_\+\+U\+S\+E\+\_\+\+C\+H2}~1
\item 
\#define \hyperlink{conf__general_8h_a47369a74f8e864d5208f95cabdff76c0}{S\+E\+R\+V\+O\+\_\+\+O\+U\+T\+\_\+\+E\+N\+A\+B\+L\+E}~0
\item 
\#define \hyperlink{conf__general_8h_ac0a63d93effeb2311cf7d049f92fe915}{S\+E\+R\+V\+O\+\_\+\+O\+U\+T\+\_\+\+S\+I\+M\+P\+L\+E}~1
\item 
\#define \hyperlink{conf__general_8h_aceae775b605ad97b91d11c48efa165b7}{S\+E\+R\+V\+O\+\_\+\+O\+U\+T\+\_\+\+P\+U\+L\+S\+E\+\_\+\+M\+I\+N\+\_\+\+U\+S}~1000
\item 
\#define \hyperlink{conf__general_8h_aab1ccffb4f17970e303970fcb96b2020}{S\+E\+R\+V\+O\+\_\+\+O\+U\+T\+\_\+\+P\+U\+L\+S\+E\+\_\+\+M\+A\+X\+\_\+\+U\+S}~2000
\item 
\#define \hyperlink{conf__general_8h_a8ce08a27ce10ba22bc9ef7b3be74d277}{S\+E\+R\+V\+O\+\_\+\+O\+U\+T\+\_\+\+R\+A\+T\+E\+\_\+\+H\+Z}~50
\item 
\#define \hyperlink{conf__general_8h_ab34d822f5a15a027a2517b31b4c3d57f}{V\+D\+I\+V\+\_\+\+C\+O\+R\+R}~((\hyperlink{hw__victor__r1a_8h_ac84130dd41edf99a5b09aa8068cb2f74}{V\+I\+N\+\_\+\+R2} / (\hyperlink{hw__victor__r1a_8h_ac84130dd41edf99a5b09aa8068cb2f74}{V\+I\+N\+\_\+\+R2} + \hyperlink{hw__victor__r1a_8h_a2ca9c5cf55454537eb2276679d87510f}{V\+I\+N\+\_\+\+R1})) / (2.\+2 / (2.\+2 + 33.\+0)))
\item 
\#define \hyperlink{conf__general_8h_adc5c29a5cd7ad49dd65b3d5543d81264}{V\+\_\+\+R\+E\+G}~3.\+3
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
void \hyperlink{conf__general_8h_a1cd62f65c450ca92ee5da119bd1d98f9}{conf\+\_\+general\+\_\+init} (void)
\item 
void \hyperlink{conf__general_8h_a6f2c09742f7b165a035ff679d127d95d}{conf\+\_\+general\+\_\+read\+\_\+app\+\_\+configuration} (\hyperlink{structapp__configuration}{app\+\_\+configuration} $\ast$conf)
\item 
bool \hyperlink{conf__general_8h_ae5893fed8217cf83667b06be8c30569a}{conf\+\_\+general\+\_\+store\+\_\+app\+\_\+configuration} (\hyperlink{structapp__configuration}{app\+\_\+configuration} $\ast$conf)
\item 
void \hyperlink{conf__general_8h_a2f7069529c71f0cb1f153ba243207702}{conf\+\_\+general\+\_\+read\+\_\+mc\+\_\+configuration} (\hyperlink{structmc__configuration}{mc\+\_\+configuration} $\ast$conf)
\item 
bool \hyperlink{conf__general_8h_a1afd3ac11a995e2cb5c2c4e9d7871eec}{conf\+\_\+general\+\_\+store\+\_\+mc\+\_\+configuration} (\hyperlink{structmc__configuration}{mc\+\_\+configuration} $\ast$conf)
\item 
bool \hyperlink{conf__general_8h_af07b8623a9407976ed52024a1c615fa1}{conf\+\_\+general\+\_\+detect\+\_\+motor\+\_\+param} (float current, float min\+\_\+rpm, float low\+\_\+duty, float $\ast$int\+\_\+limit, float $\ast$bemf\+\_\+coupling\+\_\+k, int8\+\_\+t $\ast$hall\+\_\+table, int $\ast$hall\+\_\+res)
\end{DoxyCompactItemize}


\subsection{Macro Definition Documentation}
\hypertarget{conf__general_8h_af8a66de8480015449b71c7e2a184245d}{}\index{conf\+\_\+general.\+h@{conf\+\_\+general.\+h}!A\+U\+T\+O\+\_\+\+P\+R\+I\+N\+T\+\_\+\+F\+A\+U\+L\+T\+S@{A\+U\+T\+O\+\_\+\+P\+R\+I\+N\+T\+\_\+\+F\+A\+U\+L\+T\+S}}
\index{A\+U\+T\+O\+\_\+\+P\+R\+I\+N\+T\+\_\+\+F\+A\+U\+L\+T\+S@{A\+U\+T\+O\+\_\+\+P\+R\+I\+N\+T\+\_\+\+F\+A\+U\+L\+T\+S}!conf\+\_\+general.\+h@{conf\+\_\+general.\+h}}
\subsubsection[{A\+U\+T\+O\+\_\+\+P\+R\+I\+N\+T\+\_\+\+F\+A\+U\+L\+T\+S}]{\setlength{\rightskip}{0pt plus 5cm}\#define A\+U\+T\+O\+\_\+\+P\+R\+I\+N\+T\+\_\+\+F\+A\+U\+L\+T\+S~0}\label{conf__general_8h_af8a66de8480015449b71c7e2a184245d}
\hypertarget{conf__general_8h_aa7745485782511ac5adc139ebc479e39}{}\index{conf\+\_\+general.\+h@{conf\+\_\+general.\+h}!C\+A\+N\+\_\+\+E\+N\+A\+B\+L\+E@{C\+A\+N\+\_\+\+E\+N\+A\+B\+L\+E}}
\index{C\+A\+N\+\_\+\+E\+N\+A\+B\+L\+E@{C\+A\+N\+\_\+\+E\+N\+A\+B\+L\+E}!conf\+\_\+general.\+h@{conf\+\_\+general.\+h}}
\subsubsection[{C\+A\+N\+\_\+\+E\+N\+A\+B\+L\+E}]{\setlength{\rightskip}{0pt plus 5cm}\#define C\+A\+N\+\_\+\+E\+N\+A\+B\+L\+E~1}\label{conf__general_8h_aa7745485782511ac5adc139ebc479e39}
\hypertarget{conf__general_8h_af219931ae59bfd17b6b02088d131fcc4}{}\index{conf\+\_\+general.\+h@{conf\+\_\+general.\+h}!E\+N\+C\+O\+D\+E\+R\+\_\+\+C\+O\+U\+N\+T\+S@{E\+N\+C\+O\+D\+E\+R\+\_\+\+C\+O\+U\+N\+T\+S}}
\index{E\+N\+C\+O\+D\+E\+R\+\_\+\+C\+O\+U\+N\+T\+S@{E\+N\+C\+O\+D\+E\+R\+\_\+\+C\+O\+U\+N\+T\+S}!conf\+\_\+general.\+h@{conf\+\_\+general.\+h}}
\subsubsection[{E\+N\+C\+O\+D\+E\+R\+\_\+\+C\+O\+U\+N\+T\+S}]{\setlength{\rightskip}{0pt plus 5cm}\#define E\+N\+C\+O\+D\+E\+R\+\_\+\+C\+O\+U\+N\+T\+S~14400}\label{conf__general_8h_af219931ae59bfd17b6b02088d131fcc4}
\hypertarget{conf__general_8h_a42c15799695a95f5cf1a7ad50390405e}{}\index{conf\+\_\+general.\+h@{conf\+\_\+general.\+h}!E\+N\+C\+O\+D\+E\+R\+\_\+\+E\+N\+A\+B\+L\+E@{E\+N\+C\+O\+D\+E\+R\+\_\+\+E\+N\+A\+B\+L\+E}}
\index{E\+N\+C\+O\+D\+E\+R\+\_\+\+E\+N\+A\+B\+L\+E@{E\+N\+C\+O\+D\+E\+R\+\_\+\+E\+N\+A\+B\+L\+E}!conf\+\_\+general.\+h@{conf\+\_\+general.\+h}}
\subsubsection[{E\+N\+C\+O\+D\+E\+R\+\_\+\+E\+N\+A\+B\+L\+E}]{\setlength{\rightskip}{0pt plus 5cm}\#define E\+N\+C\+O\+D\+E\+R\+\_\+\+E\+N\+A\+B\+L\+E~0}\label{conf__general_8h_a42c15799695a95f5cf1a7ad50390405e}
\hypertarget{conf__general_8h_a5a209f781c62e738bb2f3868604fbe77}{}\index{conf\+\_\+general.\+h@{conf\+\_\+general.\+h}!F\+W\+\_\+\+V\+E\+R\+S\+I\+O\+N\+\_\+\+M\+A\+J\+O\+R@{F\+W\+\_\+\+V\+E\+R\+S\+I\+O\+N\+\_\+\+M\+A\+J\+O\+R}}
\index{F\+W\+\_\+\+V\+E\+R\+S\+I\+O\+N\+\_\+\+M\+A\+J\+O\+R@{F\+W\+\_\+\+V\+E\+R\+S\+I\+O\+N\+\_\+\+M\+A\+J\+O\+R}!conf\+\_\+general.\+h@{conf\+\_\+general.\+h}}
\subsubsection[{F\+W\+\_\+\+V\+E\+R\+S\+I\+O\+N\+\_\+\+M\+A\+J\+O\+R}]{\setlength{\rightskip}{0pt plus 5cm}\#define F\+W\+\_\+\+V\+E\+R\+S\+I\+O\+N\+\_\+\+M\+A\+J\+O\+R~1}\label{conf__general_8h_a5a209f781c62e738bb2f3868604fbe77}
\hypertarget{conf__general_8h_ae224d2fae5df95eef5b8b1638b714731}{}\index{conf\+\_\+general.\+h@{conf\+\_\+general.\+h}!F\+W\+\_\+\+V\+E\+R\+S\+I\+O\+N\+\_\+\+M\+I\+N\+O\+R@{F\+W\+\_\+\+V\+E\+R\+S\+I\+O\+N\+\_\+\+M\+I\+N\+O\+R}}
\index{F\+W\+\_\+\+V\+E\+R\+S\+I\+O\+N\+\_\+\+M\+I\+N\+O\+R@{F\+W\+\_\+\+V\+E\+R\+S\+I\+O\+N\+\_\+\+M\+I\+N\+O\+R}!conf\+\_\+general.\+h@{conf\+\_\+general.\+h}}
\subsubsection[{F\+W\+\_\+\+V\+E\+R\+S\+I\+O\+N\+\_\+\+M\+I\+N\+O\+R}]{\setlength{\rightskip}{0pt plus 5cm}\#define F\+W\+\_\+\+V\+E\+R\+S\+I\+O\+N\+\_\+\+M\+I\+N\+O\+R~12}\label{conf__general_8h_ae224d2fae5df95eef5b8b1638b714731}
\hypertarget{conf__general_8h_afb5b082214e46b36710f13fb58f14536}{}\index{conf\+\_\+general.\+h@{conf\+\_\+general.\+h}!H\+W\+\_\+\+V\+E\+R\+S\+I\+O\+N\+\_\+46@{H\+W\+\_\+\+V\+E\+R\+S\+I\+O\+N\+\_\+46}}
\index{H\+W\+\_\+\+V\+E\+R\+S\+I\+O\+N\+\_\+46@{H\+W\+\_\+\+V\+E\+R\+S\+I\+O\+N\+\_\+46}!conf\+\_\+general.\+h@{conf\+\_\+general.\+h}}
\subsubsection[{H\+W\+\_\+\+V\+E\+R\+S\+I\+O\+N\+\_\+46}]{\setlength{\rightskip}{0pt plus 5cm}\#define H\+W\+\_\+\+V\+E\+R\+S\+I\+O\+N\+\_\+46}\label{conf__general_8h_afb5b082214e46b36710f13fb58f14536}
\hypertarget{conf__general_8h_ac11648a2d535467d40f9a605d5e00e76}{}\index{conf\+\_\+general.\+h@{conf\+\_\+general.\+h}!L\+E\+D\+\_\+\+E\+X\+T\+\_\+\+B\+A\+T\+T\+\_\+\+H\+I\+G\+H@{L\+E\+D\+\_\+\+E\+X\+T\+\_\+\+B\+A\+T\+T\+\_\+\+H\+I\+G\+H}}
\index{L\+E\+D\+\_\+\+E\+X\+T\+\_\+\+B\+A\+T\+T\+\_\+\+H\+I\+G\+H@{L\+E\+D\+\_\+\+E\+X\+T\+\_\+\+B\+A\+T\+T\+\_\+\+H\+I\+G\+H}!conf\+\_\+general.\+h@{conf\+\_\+general.\+h}}
\subsubsection[{L\+E\+D\+\_\+\+E\+X\+T\+\_\+\+B\+A\+T\+T\+\_\+\+H\+I\+G\+H}]{\setlength{\rightskip}{0pt plus 5cm}\#define L\+E\+D\+\_\+\+E\+X\+T\+\_\+\+B\+A\+T\+T\+\_\+\+H\+I\+G\+H~33.\+0}\label{conf__general_8h_ac11648a2d535467d40f9a605d5e00e76}
\hypertarget{conf__general_8h_ae87967dc13f8df6b437c54e253fa5c69}{}\index{conf\+\_\+general.\+h@{conf\+\_\+general.\+h}!L\+E\+D\+\_\+\+E\+X\+T\+\_\+\+B\+A\+T\+T\+\_\+\+L\+O\+W@{L\+E\+D\+\_\+\+E\+X\+T\+\_\+\+B\+A\+T\+T\+\_\+\+L\+O\+W}}
\index{L\+E\+D\+\_\+\+E\+X\+T\+\_\+\+B\+A\+T\+T\+\_\+\+L\+O\+W@{L\+E\+D\+\_\+\+E\+X\+T\+\_\+\+B\+A\+T\+T\+\_\+\+L\+O\+W}!conf\+\_\+general.\+h@{conf\+\_\+general.\+h}}
\subsubsection[{L\+E\+D\+\_\+\+E\+X\+T\+\_\+\+B\+A\+T\+T\+\_\+\+L\+O\+W}]{\setlength{\rightskip}{0pt plus 5cm}\#define L\+E\+D\+\_\+\+E\+X\+T\+\_\+\+B\+A\+T\+T\+\_\+\+L\+O\+W~28.\+0}\label{conf__general_8h_ae87967dc13f8df6b437c54e253fa5c69}
\hypertarget{conf__general_8h_a9b1e984078682e6796a6f01798bcff77}{}\index{conf\+\_\+general.\+h@{conf\+\_\+general.\+h}!M\+C\+C\+O\+N\+F\+\_\+\+O\+U\+T\+R\+U\+N\+N\+E\+R2@{M\+C\+C\+O\+N\+F\+\_\+\+O\+U\+T\+R\+U\+N\+N\+E\+R2}}
\index{M\+C\+C\+O\+N\+F\+\_\+\+O\+U\+T\+R\+U\+N\+N\+E\+R2@{M\+C\+C\+O\+N\+F\+\_\+\+O\+U\+T\+R\+U\+N\+N\+E\+R2}!conf\+\_\+general.\+h@{conf\+\_\+general.\+h}}
\subsubsection[{M\+C\+C\+O\+N\+F\+\_\+\+O\+U\+T\+R\+U\+N\+N\+E\+R2}]{\setlength{\rightskip}{0pt plus 5cm}\#define M\+C\+C\+O\+N\+F\+\_\+\+O\+U\+T\+R\+U\+N\+N\+E\+R2}\label{conf__general_8h_a9b1e984078682e6796a6f01798bcff77}
\hypertarget{conf__general_8h_a47369a74f8e864d5208f95cabdff76c0}{}\index{conf\+\_\+general.\+h@{conf\+\_\+general.\+h}!S\+E\+R\+V\+O\+\_\+\+O\+U\+T\+\_\+\+E\+N\+A\+B\+L\+E@{S\+E\+R\+V\+O\+\_\+\+O\+U\+T\+\_\+\+E\+N\+A\+B\+L\+E}}
\index{S\+E\+R\+V\+O\+\_\+\+O\+U\+T\+\_\+\+E\+N\+A\+B\+L\+E@{S\+E\+R\+V\+O\+\_\+\+O\+U\+T\+\_\+\+E\+N\+A\+B\+L\+E}!conf\+\_\+general.\+h@{conf\+\_\+general.\+h}}
\subsubsection[{S\+E\+R\+V\+O\+\_\+\+O\+U\+T\+\_\+\+E\+N\+A\+B\+L\+E}]{\setlength{\rightskip}{0pt plus 5cm}\#define S\+E\+R\+V\+O\+\_\+\+O\+U\+T\+\_\+\+E\+N\+A\+B\+L\+E~0}\label{conf__general_8h_a47369a74f8e864d5208f95cabdff76c0}
\hypertarget{conf__general_8h_aab1ccffb4f17970e303970fcb96b2020}{}\index{conf\+\_\+general.\+h@{conf\+\_\+general.\+h}!S\+E\+R\+V\+O\+\_\+\+O\+U\+T\+\_\+\+P\+U\+L\+S\+E\+\_\+\+M\+A\+X\+\_\+\+U\+S@{S\+E\+R\+V\+O\+\_\+\+O\+U\+T\+\_\+\+P\+U\+L\+S\+E\+\_\+\+M\+A\+X\+\_\+\+U\+S}}
\index{S\+E\+R\+V\+O\+\_\+\+O\+U\+T\+\_\+\+P\+U\+L\+S\+E\+\_\+\+M\+A\+X\+\_\+\+U\+S@{S\+E\+R\+V\+O\+\_\+\+O\+U\+T\+\_\+\+P\+U\+L\+S\+E\+\_\+\+M\+A\+X\+\_\+\+U\+S}!conf\+\_\+general.\+h@{conf\+\_\+general.\+h}}
\subsubsection[{S\+E\+R\+V\+O\+\_\+\+O\+U\+T\+\_\+\+P\+U\+L\+S\+E\+\_\+\+M\+A\+X\+\_\+\+U\+S}]{\setlength{\rightskip}{0pt plus 5cm}\#define S\+E\+R\+V\+O\+\_\+\+O\+U\+T\+\_\+\+P\+U\+L\+S\+E\+\_\+\+M\+A\+X\+\_\+\+U\+S~2000}\label{conf__general_8h_aab1ccffb4f17970e303970fcb96b2020}
\hypertarget{conf__general_8h_aceae775b605ad97b91d11c48efa165b7}{}\index{conf\+\_\+general.\+h@{conf\+\_\+general.\+h}!S\+E\+R\+V\+O\+\_\+\+O\+U\+T\+\_\+\+P\+U\+L\+S\+E\+\_\+\+M\+I\+N\+\_\+\+U\+S@{S\+E\+R\+V\+O\+\_\+\+O\+U\+T\+\_\+\+P\+U\+L\+S\+E\+\_\+\+M\+I\+N\+\_\+\+U\+S}}
\index{S\+E\+R\+V\+O\+\_\+\+O\+U\+T\+\_\+\+P\+U\+L\+S\+E\+\_\+\+M\+I\+N\+\_\+\+U\+S@{S\+E\+R\+V\+O\+\_\+\+O\+U\+T\+\_\+\+P\+U\+L\+S\+E\+\_\+\+M\+I\+N\+\_\+\+U\+S}!conf\+\_\+general.\+h@{conf\+\_\+general.\+h}}
\subsubsection[{S\+E\+R\+V\+O\+\_\+\+O\+U\+T\+\_\+\+P\+U\+L\+S\+E\+\_\+\+M\+I\+N\+\_\+\+U\+S}]{\setlength{\rightskip}{0pt plus 5cm}\#define S\+E\+R\+V\+O\+\_\+\+O\+U\+T\+\_\+\+P\+U\+L\+S\+E\+\_\+\+M\+I\+N\+\_\+\+U\+S~1000}\label{conf__general_8h_aceae775b605ad97b91d11c48efa165b7}
\hypertarget{conf__general_8h_a8ce08a27ce10ba22bc9ef7b3be74d277}{}\index{conf\+\_\+general.\+h@{conf\+\_\+general.\+h}!S\+E\+R\+V\+O\+\_\+\+O\+U\+T\+\_\+\+R\+A\+T\+E\+\_\+\+H\+Z@{S\+E\+R\+V\+O\+\_\+\+O\+U\+T\+\_\+\+R\+A\+T\+E\+\_\+\+H\+Z}}
\index{S\+E\+R\+V\+O\+\_\+\+O\+U\+T\+\_\+\+R\+A\+T\+E\+\_\+\+H\+Z@{S\+E\+R\+V\+O\+\_\+\+O\+U\+T\+\_\+\+R\+A\+T\+E\+\_\+\+H\+Z}!conf\+\_\+general.\+h@{conf\+\_\+general.\+h}}
\subsubsection[{S\+E\+R\+V\+O\+\_\+\+O\+U\+T\+\_\+\+R\+A\+T\+E\+\_\+\+H\+Z}]{\setlength{\rightskip}{0pt plus 5cm}\#define S\+E\+R\+V\+O\+\_\+\+O\+U\+T\+\_\+\+R\+A\+T\+E\+\_\+\+H\+Z~50}\label{conf__general_8h_a8ce08a27ce10ba22bc9ef7b3be74d277}
\hypertarget{conf__general_8h_ac0a63d93effeb2311cf7d049f92fe915}{}\index{conf\+\_\+general.\+h@{conf\+\_\+general.\+h}!S\+E\+R\+V\+O\+\_\+\+O\+U\+T\+\_\+\+S\+I\+M\+P\+L\+E@{S\+E\+R\+V\+O\+\_\+\+O\+U\+T\+\_\+\+S\+I\+M\+P\+L\+E}}
\index{S\+E\+R\+V\+O\+\_\+\+O\+U\+T\+\_\+\+S\+I\+M\+P\+L\+E@{S\+E\+R\+V\+O\+\_\+\+O\+U\+T\+\_\+\+S\+I\+M\+P\+L\+E}!conf\+\_\+general.\+h@{conf\+\_\+general.\+h}}
\subsubsection[{S\+E\+R\+V\+O\+\_\+\+O\+U\+T\+\_\+\+S\+I\+M\+P\+L\+E}]{\setlength{\rightskip}{0pt plus 5cm}\#define S\+E\+R\+V\+O\+\_\+\+O\+U\+T\+\_\+\+S\+I\+M\+P\+L\+E~1}\label{conf__general_8h_ac0a63d93effeb2311cf7d049f92fe915}
\hypertarget{conf__general_8h_a203e46be358e8b2504b821df08d80c76}{}\index{conf\+\_\+general.\+h@{conf\+\_\+general.\+h}!S\+Y\+S\+T\+E\+M\+\_\+\+C\+O\+R\+E\+\_\+\+C\+L\+O\+C\+K@{S\+Y\+S\+T\+E\+M\+\_\+\+C\+O\+R\+E\+\_\+\+C\+L\+O\+C\+K}}
\index{S\+Y\+S\+T\+E\+M\+\_\+\+C\+O\+R\+E\+\_\+\+C\+L\+O\+C\+K@{S\+Y\+S\+T\+E\+M\+\_\+\+C\+O\+R\+E\+\_\+\+C\+L\+O\+C\+K}!conf\+\_\+general.\+h@{conf\+\_\+general.\+h}}
\subsubsection[{S\+Y\+S\+T\+E\+M\+\_\+\+C\+O\+R\+E\+\_\+\+C\+L\+O\+C\+K}]{\setlength{\rightskip}{0pt plus 5cm}\#define S\+Y\+S\+T\+E\+M\+\_\+\+C\+O\+R\+E\+\_\+\+C\+L\+O\+C\+K~168000000}\label{conf__general_8h_a203e46be358e8b2504b821df08d80c76}
\hypertarget{conf__general_8h_adc5c29a5cd7ad49dd65b3d5543d81264}{}\index{conf\+\_\+general.\+h@{conf\+\_\+general.\+h}!V\+\_\+\+R\+E\+G@{V\+\_\+\+R\+E\+G}}
\index{V\+\_\+\+R\+E\+G@{V\+\_\+\+R\+E\+G}!conf\+\_\+general.\+h@{conf\+\_\+general.\+h}}
\subsubsection[{V\+\_\+\+R\+E\+G}]{\setlength{\rightskip}{0pt plus 5cm}\#define V\+\_\+\+R\+E\+G~3.\+3}\label{conf__general_8h_adc5c29a5cd7ad49dd65b3d5543d81264}
\hypertarget{conf__general_8h_ab34d822f5a15a027a2517b31b4c3d57f}{}\index{conf\+\_\+general.\+h@{conf\+\_\+general.\+h}!V\+D\+I\+V\+\_\+\+C\+O\+R\+R@{V\+D\+I\+V\+\_\+\+C\+O\+R\+R}}
\index{V\+D\+I\+V\+\_\+\+C\+O\+R\+R@{V\+D\+I\+V\+\_\+\+C\+O\+R\+R}!conf\+\_\+general.\+h@{conf\+\_\+general.\+h}}
\subsubsection[{V\+D\+I\+V\+\_\+\+C\+O\+R\+R}]{\setlength{\rightskip}{0pt plus 5cm}\#define V\+D\+I\+V\+\_\+\+C\+O\+R\+R~(({\bf V\+I\+N\+\_\+\+R2} / ({\bf V\+I\+N\+\_\+\+R2} + {\bf V\+I\+N\+\_\+\+R1})) / (2.\+2 / (2.\+2 + 33.\+0)))}\label{conf__general_8h_ab34d822f5a15a027a2517b31b4c3d57f}
\hypertarget{conf__general_8h_a36f085cf73db8d6538b36c1e5c62e186}{}\index{conf\+\_\+general.\+h@{conf\+\_\+general.\+h}!W\+S2811\+\_\+\+C\+L\+K\+\_\+\+H\+Z@{W\+S2811\+\_\+\+C\+L\+K\+\_\+\+H\+Z}}
\index{W\+S2811\+\_\+\+C\+L\+K\+\_\+\+H\+Z@{W\+S2811\+\_\+\+C\+L\+K\+\_\+\+H\+Z}!conf\+\_\+general.\+h@{conf\+\_\+general.\+h}}
\subsubsection[{W\+S2811\+\_\+\+C\+L\+K\+\_\+\+H\+Z}]{\setlength{\rightskip}{0pt plus 5cm}\#define W\+S2811\+\_\+\+C\+L\+K\+\_\+\+H\+Z~800000}\label{conf__general_8h_a36f085cf73db8d6538b36c1e5c62e186}
\hypertarget{conf__general_8h_ae4fe8b9051fab0ed857f4b7f1ccb1da8}{}\index{conf\+\_\+general.\+h@{conf\+\_\+general.\+h}!W\+S2811\+\_\+\+E\+N\+A\+B\+L\+E@{W\+S2811\+\_\+\+E\+N\+A\+B\+L\+E}}
\index{W\+S2811\+\_\+\+E\+N\+A\+B\+L\+E@{W\+S2811\+\_\+\+E\+N\+A\+B\+L\+E}!conf\+\_\+general.\+h@{conf\+\_\+general.\+h}}
\subsubsection[{W\+S2811\+\_\+\+E\+N\+A\+B\+L\+E}]{\setlength{\rightskip}{0pt plus 5cm}\#define W\+S2811\+\_\+\+E\+N\+A\+B\+L\+E~0}\label{conf__general_8h_ae4fe8b9051fab0ed857f4b7f1ccb1da8}
\hypertarget{conf__general_8h_a603b0328c04f0a8e93f19a141bee3bf4}{}\index{conf\+\_\+general.\+h@{conf\+\_\+general.\+h}!W\+S2811\+\_\+\+L\+E\+D\+\_\+\+N\+U\+M@{W\+S2811\+\_\+\+L\+E\+D\+\_\+\+N\+U\+M}}
\index{W\+S2811\+\_\+\+L\+E\+D\+\_\+\+N\+U\+M@{W\+S2811\+\_\+\+L\+E\+D\+\_\+\+N\+U\+M}!conf\+\_\+general.\+h@{conf\+\_\+general.\+h}}
\subsubsection[{W\+S2811\+\_\+\+L\+E\+D\+\_\+\+N\+U\+M}]{\setlength{\rightskip}{0pt plus 5cm}\#define W\+S2811\+\_\+\+L\+E\+D\+\_\+\+N\+U\+M~14}\label{conf__general_8h_a603b0328c04f0a8e93f19a141bee3bf4}
\hypertarget{conf__general_8h_ae59d53cd573f80957f17600765aa3620}{}\index{conf\+\_\+general.\+h@{conf\+\_\+general.\+h}!W\+S2811\+\_\+\+U\+S\+E\+\_\+\+C\+H2@{W\+S2811\+\_\+\+U\+S\+E\+\_\+\+C\+H2}}
\index{W\+S2811\+\_\+\+U\+S\+E\+\_\+\+C\+H2@{W\+S2811\+\_\+\+U\+S\+E\+\_\+\+C\+H2}!conf\+\_\+general.\+h@{conf\+\_\+general.\+h}}
\subsubsection[{W\+S2811\+\_\+\+U\+S\+E\+\_\+\+C\+H2}]{\setlength{\rightskip}{0pt plus 5cm}\#define W\+S2811\+\_\+\+U\+S\+E\+\_\+\+C\+H2~1}\label{conf__general_8h_ae59d53cd573f80957f17600765aa3620}


\subsection{Function Documentation}
\hypertarget{conf__general_8h_af07b8623a9407976ed52024a1c615fa1}{}\index{conf\+\_\+general.\+h@{conf\+\_\+general.\+h}!conf\+\_\+general\+\_\+detect\+\_\+motor\+\_\+param@{conf\+\_\+general\+\_\+detect\+\_\+motor\+\_\+param}}
\index{conf\+\_\+general\+\_\+detect\+\_\+motor\+\_\+param@{conf\+\_\+general\+\_\+detect\+\_\+motor\+\_\+param}!conf\+\_\+general.\+h@{conf\+\_\+general.\+h}}
\subsubsection[{conf\+\_\+general\+\_\+detect\+\_\+motor\+\_\+param(float current, float min\+\_\+rpm, float low\+\_\+duty, float $\ast$int\+\_\+limit, float $\ast$bemf\+\_\+coupling\+\_\+k, int8\+\_\+t $\ast$hall\+\_\+table, int $\ast$hall\+\_\+res)}]{\setlength{\rightskip}{0pt plus 5cm}bool conf\+\_\+general\+\_\+detect\+\_\+motor\+\_\+param (
\begin{DoxyParamCaption}
\item[{float}]{current, }
\item[{float}]{min\+\_\+rpm, }
\item[{float}]{low\+\_\+duty, }
\item[{float $\ast$}]{int\+\_\+limit, }
\item[{float $\ast$}]{bemf\+\_\+coupling\+\_\+k, }
\item[{int8\+\_\+t $\ast$}]{hall\+\_\+table, }
\item[{int $\ast$}]{hall\+\_\+res}
\end{DoxyParamCaption}
)}\label{conf__general_8h_af07b8623a9407976ed52024a1c615fa1}
\hypertarget{conf__general_8h_a1cd62f65c450ca92ee5da119bd1d98f9}{}\index{conf\+\_\+general.\+h@{conf\+\_\+general.\+h}!conf\+\_\+general\+\_\+init@{conf\+\_\+general\+\_\+init}}
\index{conf\+\_\+general\+\_\+init@{conf\+\_\+general\+\_\+init}!conf\+\_\+general.\+h@{conf\+\_\+general.\+h}}
\subsubsection[{conf\+\_\+general\+\_\+init(void)}]{\setlength{\rightskip}{0pt plus 5cm}void conf\+\_\+general\+\_\+init (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}\label{conf__general_8h_a1cd62f65c450ca92ee5da119bd1d98f9}
\hypertarget{conf__general_8h_a6f2c09742f7b165a035ff679d127d95d}{}\index{conf\+\_\+general.\+h@{conf\+\_\+general.\+h}!conf\+\_\+general\+\_\+read\+\_\+app\+\_\+configuration@{conf\+\_\+general\+\_\+read\+\_\+app\+\_\+configuration}}
\index{conf\+\_\+general\+\_\+read\+\_\+app\+\_\+configuration@{conf\+\_\+general\+\_\+read\+\_\+app\+\_\+configuration}!conf\+\_\+general.\+h@{conf\+\_\+general.\+h}}
\subsubsection[{conf\+\_\+general\+\_\+read\+\_\+app\+\_\+configuration(app\+\_\+configuration $\ast$conf)}]{\setlength{\rightskip}{0pt plus 5cm}void conf\+\_\+general\+\_\+read\+\_\+app\+\_\+configuration (
\begin{DoxyParamCaption}
\item[{{\bf app\+\_\+configuration} $\ast$}]{conf}
\end{DoxyParamCaption}
)}\label{conf__general_8h_a6f2c09742f7b165a035ff679d127d95d}
Read \hyperlink{structapp__configuration}{app\+\_\+configuration} from E\+E\+P\+R\+O\+M. If this fails, default values will be used.


\begin{DoxyParams}{Parameters}
{\em conf} & A pointer to a \hyperlink{structapp__configuration}{app\+\_\+configuration} struct to write the read configuration to. \\
\hline
\end{DoxyParams}
\hypertarget{conf__general_8h_a2f7069529c71f0cb1f153ba243207702}{}\index{conf\+\_\+general.\+h@{conf\+\_\+general.\+h}!conf\+\_\+general\+\_\+read\+\_\+mc\+\_\+configuration@{conf\+\_\+general\+\_\+read\+\_\+mc\+\_\+configuration}}
\index{conf\+\_\+general\+\_\+read\+\_\+mc\+\_\+configuration@{conf\+\_\+general\+\_\+read\+\_\+mc\+\_\+configuration}!conf\+\_\+general.\+h@{conf\+\_\+general.\+h}}
\subsubsection[{conf\+\_\+general\+\_\+read\+\_\+mc\+\_\+configuration(mc\+\_\+configuration $\ast$conf)}]{\setlength{\rightskip}{0pt plus 5cm}void conf\+\_\+general\+\_\+read\+\_\+mc\+\_\+configuration (
\begin{DoxyParamCaption}
\item[{{\bf mc\+\_\+configuration} $\ast$}]{conf}
\end{DoxyParamCaption}
)}\label{conf__general_8h_a2f7069529c71f0cb1f153ba243207702}
Read \hyperlink{structmc__configuration}{mc\+\_\+configuration} from E\+E\+P\+R\+O\+M. If this fails, default values will be used.


\begin{DoxyParams}{Parameters}
{\em conf} & A pointer to a \hyperlink{structmc__configuration}{mc\+\_\+configuration} struct to write the read configuration to. \\
\hline
\end{DoxyParams}
\hypertarget{conf__general_8h_ae5893fed8217cf83667b06be8c30569a}{}\index{conf\+\_\+general.\+h@{conf\+\_\+general.\+h}!conf\+\_\+general\+\_\+store\+\_\+app\+\_\+configuration@{conf\+\_\+general\+\_\+store\+\_\+app\+\_\+configuration}}
\index{conf\+\_\+general\+\_\+store\+\_\+app\+\_\+configuration@{conf\+\_\+general\+\_\+store\+\_\+app\+\_\+configuration}!conf\+\_\+general.\+h@{conf\+\_\+general.\+h}}
\subsubsection[{conf\+\_\+general\+\_\+store\+\_\+app\+\_\+configuration(app\+\_\+configuration $\ast$conf)}]{\setlength{\rightskip}{0pt plus 5cm}bool conf\+\_\+general\+\_\+store\+\_\+app\+\_\+configuration (
\begin{DoxyParamCaption}
\item[{{\bf app\+\_\+configuration} $\ast$}]{conf}
\end{DoxyParamCaption}
)}\label{conf__general_8h_ae5893fed8217cf83667b06be8c30569a}
Write \hyperlink{structapp__configuration}{app\+\_\+configuration} to E\+E\+P\+R\+O\+M.


\begin{DoxyParams}{Parameters}
{\em conf} & A pointer to the configuration that should be stored. \\
\hline
\end{DoxyParams}
\hypertarget{conf__general_8h_a1afd3ac11a995e2cb5c2c4e9d7871eec}{}\index{conf\+\_\+general.\+h@{conf\+\_\+general.\+h}!conf\+\_\+general\+\_\+store\+\_\+mc\+\_\+configuration@{conf\+\_\+general\+\_\+store\+\_\+mc\+\_\+configuration}}
\index{conf\+\_\+general\+\_\+store\+\_\+mc\+\_\+configuration@{conf\+\_\+general\+\_\+store\+\_\+mc\+\_\+configuration}!conf\+\_\+general.\+h@{conf\+\_\+general.\+h}}
\subsubsection[{conf\+\_\+general\+\_\+store\+\_\+mc\+\_\+configuration(mc\+\_\+configuration $\ast$conf)}]{\setlength{\rightskip}{0pt plus 5cm}bool conf\+\_\+general\+\_\+store\+\_\+mc\+\_\+configuration (
\begin{DoxyParamCaption}
\item[{{\bf mc\+\_\+configuration} $\ast$}]{conf}
\end{DoxyParamCaption}
)}\label{conf__general_8h_a1afd3ac11a995e2cb5c2c4e9d7871eec}
Write \hyperlink{structmc__configuration}{mc\+\_\+configuration} to E\+E\+P\+R\+O\+M.


\begin{DoxyParams}{Parameters}
{\em conf} & A pointer to the configuration that should be stored. \\
\hline
\end{DoxyParams}
